#pragma once

#include <OIS.h>

class IInputListener{
	friend class InputManager;
protected:
	virtual void OnKeyDown(const OIS::KeyCode &key)=0;
	virtual void OnKeyUp(const OIS::KeyCode &key)=0;
	virtual void OnKeyHeld(const OIS::KeyCode &key)=0;

	virtual void OnMouseDown(const OIS::MouseState &mouse, const OIS::MouseButtonID &id)=0;
	virtual void OnMouseUp(const OIS::MouseState &mouse, const OIS::MouseButtonID &id)=0;
	virtual void OnMouseHeld(const OIS::MouseState &mouse, const OIS::MouseButtonID &id)=0;
	virtual void OnMouseMoved(const OIS::MouseState &mouse)=0;
};